﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace NthDownload.Contracts.Plugins.BandwidthProviders
{
    public interface IBandwidthProvider
    {
        string GUID { get; }
        string ParentGUID { get; }

        string Name { get; }

        bool HasBandwidth { get; }

        /// <summary>
        /// Implementation of this method must be thread safe.
        /// </summary>
        int Take(int desiredChunkSize);
    }
}
